package com.xiaozhi.common.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//微信支付配置

@Data
@AllArgsConstructor
@NoArgsConstructor
@ConfigurationProperties(prefix = "wx.wechatpay")
public class WxPayProperties {

    // 微信商户号
    public  String merchantId;

    //# API v3密钥，不存在则不会进行自动化配置，下面是个示例：
  //  public  String apiV3Key;

    //#服务商模式下的子商户公众账号ID
    //public  String subAppId;

    // #服务商模式下的子商户号
   // public  String subMchId;

    //商户API证书的证书序列号，若不存在则用户必须自行提供 WechatPay2Credentials：

    public  String merchantSerialNumber;

    //# 商户API私钥，若不存在则用户必须自行提供 WechatPay2Credentials，下面是个示例：
    public  String merchantPrivateKey;

    //回调通知url
    public  String notifyUrl;

 /**
   * 设置微信公众号或者小程序等的appid.
   */
  private String appId;

  /**
   * 微信支付商户号.
   */
  private String mchId;

  /**
   * 微信支付商户密钥.
   */
  private String mchKey;

  /**
   * 服务商模式下的子商户公众账号ID，普通模式请不要配置，请在配置文件中将对应项删除.
   */
  private String subAppId;

  /**
   * 服务商模式下的子商户号，普通模式请不要配置，最好是请在配置文件中将对应项删除.
   */
  private String subMchId;

  /**
   * apiclient_cert.p12文件的绝对路径，或者如果放在项目中，请以classpath:开头指定.
   */
  private String keyPath;

  /**
   * 微信支付分serviceId
   */
  private String serviceId;

  /**
   * 证书序列号
   */
  private String certSerialNo;

  /**
   * apiV3秘钥
   */
  private String apiv3Key;

  /**
   * 微信支付分回调地址
   */
  private String payScoreNotifyUrl;

  /**
   * apiv3 商户apiclient_key.pem
   */
  private String privateKeyPath;

  /**
   * apiv3 商户apiclient_cert.pem
   */
  private String privateCertPath;

  /**
   * 公钥ID
   */
  private String publicKeyId;

  /**
   * pub_key.pem证书文件的绝对路径或者以classpath:开头的类路径.
   */
  private String publicKeyPath;

  /**
   * 微信支付是否使用仿真测试环境.
   * 默认不使用
   */
  private boolean useSandboxEnv;

}
